#pragma once
#include "QtestEx11.h"
#include "..\ex_11\Chrono.h"



void TestDate::DefaultCtor()
 {
	 QFETCH(int, result);
	 QVERIFY(Chrono::Date().curr_day() == result);
 }


void TestDate::DefaultCtor_data()
{
	QTest::addColumn<int> ("result");
	QTest::newRow("default Date") << 0;
}


 void DaysInMonth()
 {
	QVERIFY(Chrono::days_in_month(Chrono::jan, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::feb, false)==28);
	QVERIFY(Chrono::days_in_month(Chrono::mar, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::apr, false)==30);
	QVERIFY(Chrono::days_in_month(Chrono::may, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::jun, false)==30);
	QVERIFY(Chrono::days_in_month(Chrono::jul, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::aug, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::sep, false)==30);
	QVERIFY(Chrono::days_in_month(Chrono::oct, false)==31);
	QVERIFY(Chrono::days_in_month(Chrono::nov, false)==30);
	QVERIFY(Chrono::days_in_month(Chrono::dec, false)==31);


	QVERIFY(Chrono::days_in_month(Chrono::jan, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::feb, true)==28);
	QVERIFY(Chrono::days_in_month(Chrono::mar, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::apr, true)==30);
	QVERIFY(Chrono::days_in_month(Chrono::may, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::jun, true)==30);
	QVERIFY(Chrono::days_in_month(Chrono::jul, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::aug, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::sep, true)==30);
	QVERIFY(Chrono::days_in_month(Chrono::oct, true)==31);
	QVERIFY(Chrono::days_in_month(Chrono::nov, true)==30);
	QVERIFY(Chrono::days_in_month(Chrono::dec, true)==31);
 }

 
QTEST_MAIN(TestDate)

